﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel;

namespace eCashDatalayer
{
    public class DefenceMinutesModel : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;
        private int _DefenceMinutesofficialID;
        private int _DefenceMinutesID;
        private int _Purposeofapprovalid;
        private DateTime _Dateofapproval;
        private DateTime _Dateofunapproval;
        private int _Approved;
        private DateTime _Dateofdefenceminutes;
        private DateTime _Daterecevived;
        private string _Defenceminutesnumber;
        private string _Withdrawnby;
        private DateTime _Datewithdrwawn;
        private string _Reasons;
        private DateTime _Dateentered;
        private string _Enteredby;
        private string _Subject1;
        private string _Subject2;
        private string  _ApprovalFullname;
        private string _Title;
        private string _Initial;
        private string _Firstname;
        private string _Surname;
        private string _Middlename;
        private int _MinistryID;
        private int _Jobtitlecurrent;
        private int _Newtitlestatus;
        private string _DefenceMinutesNumber;
      
        /// When the Property is changed from the PL this gets Fired
        /// </summary>
        /// <param name="property"></param>
        private void OnPropertyChanged(String property)
        {
            if (PropertyChanged != null)
            { 
                PropertyChanged(this, new PropertyChangedEventArgs(property));
            }
        }

        public int DefenceMinutesID
        {
            get
            {
                return _DefenceMinutesID;
            }
            set
            {
                _DefenceMinutesID = value;

                OnPropertyChanged("DefenceMinutesID");
            }
        }


        public string ApprovalFullname
        {
            get
            {
                return _ApprovalFullname;
            }
            set
            {
                _ApprovalFullname = value;

                OnPropertyChanged("ApprovalFullname");
            }
        }

        
        public int DefenceMinutesofficialID
        {
            get
            {
                return _DefenceMinutesofficialID;
            }
            set
            {
                _DefenceMinutesofficialID = value;

                OnPropertyChanged("DefenceMinutesofficialID");
            }
        }
        
        public int Purposeofapprovalid
        {
            get
            {
                return _Purposeofapprovalid;
            }
            set
            {
                _Purposeofapprovalid = value;

                OnPropertyChanged("Purposeofapprovalid");
            }
        }

        public DateTime Dateofapproval
        {
            get
            {
                return _Dateofapproval;
            }
            set
            {
                _Dateofapproval = value;

                OnPropertyChanged("Dateofapproval");
            }
        }

        public DateTime Dateofunapproval
        {
            get
            {
                return _Dateofunapproval;
            }
            set
            {
                _Dateofunapproval = value;

                OnPropertyChanged("Dateofunapproval");
            }
        }

        public int Approved
        {
            get
            {
                return _Approved;
            }
            set
            {
                _Approved = value;

                OnPropertyChanged("Approved");
            }
        }

        public DateTime Dateofdefenceminutes
        {
            get
            {
                return _Dateofdefenceminutes;
            }
            set
            {
                _Dateofdefenceminutes = value;

                OnPropertyChanged("Dateofdefenceminutes");
            }
        }

        public DateTime Daterecevived
        {
            get
            {
                return _Daterecevived;
            }
            set
            {
                _Daterecevived = value;

                OnPropertyChanged("_Daterecevived");
            }
        }

        public string Defenceminutesnumber
        {
            get
            {
                return _Defenceminutesnumber;
            }
            set
            {
                _Defenceminutesnumber = value;

                OnPropertyChanged("Defenceminutesnumber");
            }
        }

        public string Withdrawnby
        {
            get
            {
                return _Withdrawnby;
            }
            set
            {
                _Withdrawnby = value;

                OnPropertyChanged("Withdrawnby");
            }
        }

        public DateTime Datewithdrwawn
        {
            get
            {
                return _Datewithdrwawn;
            }
            set
            {
                _Datewithdrwawn = value;

                OnPropertyChanged("Datewithdrwawn");
            }
        }
       
        public string Reasons
        {
            get
            {
                return _Reasons;
            }
            set
            {
                _Reasons = value;

                OnPropertyChanged("Reasons");
            }
        }

        public DateTime Dateentered
        {
            get
            {
                return _Dateentered;
            }
            set
            {
                _Dateentered = value;

                OnPropertyChanged("Dateentered");
            }
        }
    
        public string Enteredby
        {
            get
            {
                return _Enteredby;
            }
            set
            {
                _Enteredby = value;

                OnPropertyChanged("Enteredby");
            }
        }

        public string Subject1
        {
            get
            {
                return _Subject1;
            }
            set
            {
                _Subject1 = value;

                OnPropertyChanged("Subject1");
            }
        }

        public string Subject2
        {
            get
            {
                return _Subject2;
            }
            set
            {
                _Subject2 = value;

                OnPropertyChanged("Subject2");
            }
        }

        public string Title
        {
            get
            {
                return _Title;
            }
            set
            {
                _Title = value;

                OnPropertyChanged("Title");
            }
        }

        public string Initial
        {
            get
            {
                return _Initial;
            }
            set
            {
                _Initial = value;

                OnPropertyChanged("Initial");
            }
        }

        public string Firstname
        {
            get
            {
                return _Firstname;
            }
            set
            {
                _Firstname = value;

                OnPropertyChanged("Firstname");
            }
        }

        public string Surname
        {
            get
            {
                return _Surname;
            }
            set
            {
                _Surname = value;

                OnPropertyChanged("Surname");
            }
        }

        public string Middlename
        {
            get
            {
                return _Middlename;
            }
            set
            {
                _Middlename = value;

                OnPropertyChanged("Middlename");
            }
        }


        public int MinistryID
        {
            get
            {
                return _MinistryID;
            }
            set
            {
                _MinistryID = value;

                OnPropertyChanged("MinistryID");
            }
        }
        public int Jobtitlecurrent
        {
            get
            {
                return _Jobtitlecurrent;
            }
            set
            {
                _Jobtitlecurrent = value;

                OnPropertyChanged("Jobtitlecurrent");
            }
        }  
         
        public int Newtitlestatus
        {
            get
            {
                return _Newtitlestatus;
            }
            set
            {
                _Newtitlestatus = value;

                OnPropertyChanged("Newtitlestatus");
            }
        }

        public string DefenceMinutesNumber
        {
            get
            {
                return _DefenceMinutesNumber;
            }
            set
            {
                _DefenceMinutesNumber = value;

                OnPropertyChanged("DefenceMinutesNumber");
            }
        }   
    }
}